Solid State Devices (SSD)
by Vinny LaBash – Sarasota PC Users Group – www.spcug.org

Measuring the effect of SSD technology is more than the numbers game we play with conventional Winchester disk drives.  What you experience with SSD drives centers on how certain tasks feel. Loading applications, boot up, shut down, and changing levels in your first person 3D shooter game are prime examples.  Everything happens incredibly fast.

Examine the current state of SSD technology and you see a rapidly evolving technological landscape.  Concerns about performance, longevity, and outright failure that plagued early solid state drives are fading. These issues are being replaced by how well manufacturers are optimizing the components of SSD technology. NAND chips, controllers, and cache memory are made by multiple suppliers. SSD vendors must take these separate components and merge them into a reliable storage device with good performance at a price that potential customers are willing to pay.

SSD manufacturers select a controller based on the controller’s cost and capability, match it with one of several different kinds of cache memory, and marry the combination to either MLC or SLC NAND flash memory chips. Single Level Cell (SLC) holds one data bit per cell. Multi Level Cell (MLC) has greater capacity. Currently MLC data chips hold two data bits per cell.

Experience reveals that the future belongs to MLC based devices. Up until now SLC based technology offered faster writes, lower power consumption, and greater longevity. Still, Intel and other chip makers appear confident that MLC technology will become dominant in the marketplace. That confidence is backed up by the design of current MLC devices where performance measured against SLC based devices is becoming nearly indistinguishable. An examination of technology publications shows that reviewers of
SSD drives overwhelmingly prefer MLC gear. 

Intel has been and continues to be a leader in this area. In the early days of SSD development, controller problems were so prevalent that Intel assigned a team of development engineers to redesign the controllers. A new generation of controllers came about which rehabilitated the technology. That too is about to change. Earlier this year Intel and Micron announced 25nm NAND flash memory production which means yet another generation of controller technology is imminent.

Why Performance Declines Without TRIM
It is important to understand how SSD devices handle a delete operation. (Otherwise you may have difficulty comprehending TRIM, which will be described later). No storage device, whether it is an SSD or traditional drive, has access to the operating system’s file structure. Therefore, it does not know what data the OS has marked for deletion and is available for overwriting. Later on, when the OS wants to perform a write operation, this becomes an overwrite operation from the viewpoint of the storage device.
For conventional disks, this is the same as writing to an empty sector, but because of how an SSD must operate at the hardware level, an overwrite operation involves considerable additional overhead which can effectively cripple write performance.
An SSD stores its data in flash memory cells. These cells are organized and grouped into pages. Typical page capacity is 4 KB. These pages are further consolidated into blocks consisting of (typically) 128 pages or 512 KB of data. Early SSD performance slowed down over time because data can be erased only at the block level. An erase operation is theoretically possible at the page level, but because of the physical construction of an SSD device, erase commands won’t work except at the block level. This is inherent in the design, and cannot be changed.

Note: By design, it is impossible to write to a NAND memory cell unless it is empty.

Any data in the block must be transferred into cache memory where it is then erased and rewritten to flash memory as empty pages. The actual operation is more complex, but a data overwrite is essentially a read, modify, erase, and write cycle. The memory and processor embedded in the controller handles the entire procedure and does not go outside the SSD. The process is commonly referred to as write amplification.  

Example: You have 8KB of data. In a previous session the OS marked some of the data for deletion, and the OS now wants to overwrite the “deleted” data.

1. The OS sends instructions to the SSD controller to begin the data overwrite.
2. The contents of the entire block are read into cache memory.
3. The memory cache is now updated. Unneeded data is deleted, and the rest undisturbed.
4. The entire block is erased on the SSD.
5. The updated data in the cache memory is now written back to the block.

The longer the SSD has been in use, the greater the performance degradation because of the way data must be stored and modified.  

TRIM
Without TRIM, performance declines because the operating system doesn’t bother to inform the SSD when data is available for re-write, and the operating system doesn’t actually delete the data. The TRIM command addresses the situation by working with the operating system to notify the SSD that data marked for deletion should be immediately erased. In other words, the TRIM command tells the SSD to delete data at the same time the user initiates the delete function instead of waiting for the OS to decide when to overwrite the “deleted” data.

When the operating system “deletes” a file, if TRIM is enabled, the operating system updates the file system and notifies the SSD via the TRIM command which pages need to be deleted. Then the SSD reads the block into cache memory, updates the cache, erases the block on the SSD, and then writes back only pages containing data which was not marked for deletion by the OS. The delete is slow, but there is no performance hit for write operations because the affected pages are now empty, and write performance is what’s important. TRIM improves performance only when you delete files.

The TRIM command acts as an interface between the OS and the SSD that tells the SSD when data should be erased. The SSD then performs the delete operation immediately after the OS marks the data for deletion. Since TRIM ensures that data is actually deleted immediately after the user deletes a file, traditional file recovery programs will not work on solid state devices with TRIM enabled.

Note: Windows 7, Windows Server 2008 R2, and some versions of Linux support TRIM. Windows XP and VISTA do not, repeat, do not support TRIM. However, a few vendors have included utilities that will enable the command with XP or Vista if the SSD supports the command. However, most early SSD devices do not support TRIM. Check with the manufacturer.

Partitioning and Formatting
While the physical structure of solid state devices is considerably different from traditional disk drives, partitioning and formatting operations appear virtually identical from a PC user point of view. What goes on under the covers should be of no concern to most users.

Defrag
In a standard disk drive, information is accessed by a combination of platter rotation and movement of read/write heads. Defragmentation takes all the sections or fragments of a file and positions them in one contiguous location. This minimizes seek time and speeds up disk operations.  

Solid state devices have no moving parts. Performance is the same no matter where data is located.  Therefore, nothing can be gained by defragging a solid state device. The additional, unnecessary read/write cycles may actually reduce the SSD’s life expectancy. Therefore, defragging SSDs is not only useless, but may be harmful.  Don’t defrag an SSD.  

Wear Leveling
Flash memory chips have a finite life cycle. This cycle is defined by approximately 10,000 write operations before the cell is subject to breakdown and no longer reliably records data. Wear Leveling is the process by which no flash memory cell is required to undergo significantly more write operations than any other memory cell on the drive. The process evenly distributes write operations among the available flash memory cells. 

Wear Leveling affects the data capacity of solid state drives because some of the disk space must be reserved to carry out the leveling operation. The amount of reserved space varies by manufacturer and is known as over-provisioning. The longevity of an SSD appears to be directly proportional to the efficiency of Wear Leveling. Most manufacturers reserve around 7% of the SSD. Conservative vendors such as Mushkin reserve up to 13%. This can account for much of the discrepancy between stated total capacity and formatted capacity. The trade off could become an issue to SSD customers who may be unwilling to sacrifice storage space even for potential increased longevity.

Summary and Conclusions
There is no doubt that solid state devices will eventually replace conventional disk drives, but prices of solid state drives will have to decline significantly first. Until that day, expect to see hybrid systems consisting of an SSD boot drive, and traditional drives for bulk storage.  Solid state drives have no moving parts. Therefore, they have considerable advantages over traditional drives:
1. They are very fast because seek time is greatly reduced.
2. Less likely to malfunction.
3. Smaller and lighter.
4. Generates very little heat.
5. Completely silent.
6. Consume far less energy.